setInfos(3, "Damian : advanced sissy", "Cyber Master Damian will take care of you - a big 24/7 script including permissions, punishments...", "Indica, Doti", "started", 0xFFFFFF, "en", ["anal", "long", "exhibition", "femaledom", "formale", "humiliation", "urine", "transgender", "options", "spanking", "shopping", "toys", "sperm"]);

// CyberMistress - advancedsissy
//
def endReached = false
def block = "begin"
if(loadString("cybermistress.wanted_start_block")!=null) {
	block = loadString("cybermistress.wanted_start_block")
	save("cybermistress.wanted_start_block",null)
}
def newBlock = block
while(!endReached && newBlock!=null) {
block = null
switch(newBlock) {
case "begin":
	if(true!=loadBoolean("jewell.levelonesissy")) {
		block="cheater"
		break
	}
	setImage("jewell/punishments2.jpg")
	show("")
	wait(1)
	save("jewell.advancedsissy", null)
	block = "pantymission"
	break

case "pantymission":
	if(true!=loadBoolean("jewell.pantymission")) {
		block="begin2"
		break
	}
	show("So, did you buy yourself some nice slutty panties like I ordered?")
	wait(10)
	block = "pantymission2"
	break

case "pantymission2":
	if(getBoolean("Did you buy yourself some panties, slut?"))
		block = "accesspanty"
	else
		block = "punmission"
	break

case "accesspanty":
	show("What a good girl you are. I knew you had it in you to be my degenerate sissy whore.")
	wait(8)
	save("jewell.pantymission", null)
	block = "dress1"
	break

case "punmission":
	show("You can't even follow simple instructions can you? Just for that, I'm forbiding you from orgasming for the rest of the day.")
	wait(8)
	save("jewell.deny_Orgasm", getTime()+24*3600)
	block = "punmission2"
	break

case "punmission2":
	show("Now, here we start a very serve punishment you worthless sack of jizz.")
	wait(8)
	save("jewell.punishment", 9)
	return "jewell/punishment"

case "cheater":
	show("No cheating whore. You're not advanced enough for this kind of training. I wouldn't want to break my favorite toy.")
	save("cybermistress.points", Math.max(0,-10+loadInteger("cybermistress.points")))
	wait(15)
	block = "finish"
	break

case "begin2":
	show("Okay my little sissy whore, it's time for us to step your feminization up another notch. You've been a barely adequate sissy so far, but you need much more training. More intense training. That starts now.")
	wait(10)
	block = "begin3"
	break

case "begin3":
	show("Firstly, strip naked. I want all those male clothes off you this instant. Put them somewhere out of the way. You're not to so much as touch them until I give you my express permission.")
	showButton("I am naked Master")
	block = "begin4"
	break

case "begin4":
	show("Good. Sissy whores like you shouldn't be allowed male clothes, it gives you naughty ideas. You are my girly little slut.")
	wait(7)
	block = "begin5"
	break

case "begin5":
	show("Time to dress you up all nice and pretty my darling little slavedoll.")
	wait(5)
	block = "begin6"
	break

case "begin6":
	show("Since this is advanced training, failure to comply will not be tolerated. You will do what I say, when I say it.")
	showButton("Yes Master")
	block = "dress1"
	break

case "dress1":
	def messages12 = ["Go fetch a pair of panties and bring them back to me.","Go bring me some of your panties slut."]
	show(messages12[getRandom(2)])
	showButton("Finished Master")
	block = "dress2"
	break

case "dress2":
	if(getBoolean("Of course my little sissy has panties, right?"))
		block = "dress3"
	else
		block = "punpanties"
	break

case "dress3":
	show("Excellent. Now put your panties on for your Master like a good little girl.")
	showButton("Finished Master")
	block = "dress4"
	break

case "dress4":
	show("How pretty! You can be such a cute little slut when you're properly dressed.")
	showButton("Thank you Master")
	block = "dress5"
	break

case "dress5":
	show("Now my little sissy girl, you need a proper name. What is the female equivalent of your name?")
	wait(3)
	save("jewell.sissyname",getString("What is the feminine form of your name?", ""))
	wait(1)
	block = "dress6"
	break

case "dress6":
	show("Okay "+loadString("jewell.sissyname")+", then that's what your new name is. I want you to introduce yourself. Say \"Hello, my name is "+loadString("jewell.sissyname")+" and I love to be a girly slut for your Master. I am a worthless sissy whore. Please degrade and feminize me because that is all I am good for.\"")
	showButton("My name is "+loadString("jewell.sissyname"))
	block = "dress7"
	break

case "dress7":
	show("Very well "+loadString("jewell.sissyname")+", I suppose you're right. You are a worthless sissy whore. Let's continue with your feminization then.")
	wait(8)
	block = "dress8"
	break

case "dress8":
	show("Go retrieve some make-up for me. If you are unable to follow this simple instruction, find a marker instead (preferably red).")
	showButton("Ready Master")
	block = "dress9"
	break

case "dress9":
	show("Did you get the make-up for your Master, "+loadString("jewell.sissyname")+"?")
	if(getBoolean("Did you bring some make-up for your Master?"))
		block = "dress10"
	else
		block = "nomakeup"
	break

case "dress10":
	show("Good. Apply a nice thick slutty layer. Really whore yourself up good for me, slut.")
	showButton("Finished Master")
	block = "dress11"
	break

case "dress11":
	show("How pretty you look now, slut.")
	wait(3)
	block = "dress12"
	break

case "dress12":
	show("Thank your Master for making you look like such a pretty girl.")
	showButton("Thank you Master")
	block = "dress13"
	break

case "dress13":
	show("Alright "+loadString("jewell.sissyname")+", go get a white t-shirt and put it on. I want you to tie it at the bottom so that your midrift is displayed.")
	showButton("Finished Master")
	block = "dress14"
	break

case "dress14":
	show("Good girl. Now sissy, I want you to go get two elastics or hairpins. Bring them to me.")
	showButton("Finished Master")
	block = "dress15"
	break

case "dress15":
	show("There we are "+loadString("jewell.sissyname")+". Now I want you to put your hair up into two pigtails. They might have to be small, but I know you can do it.")
	showButton("Finished Master")
	block = "dress16"
	break

case "dress16":
	if(loadBoolean("clothes.stockings")!=true) {
		block="dress17"
		break
	}
	show("Okay "+loadString("jewell.sissyname")+", time to put on your stockings.")
	showButton("Finished Master")
	block = "dress17"
	break

case "dress17":
	show("There, all pretty. I've turned you into quite the little whore, haven't I? What a good little sissy slut you are "+loadString("jewell.sissyname")+", getting dressed up all pretty for your Master.")
	showButton("Yes Master")
	block = "action1"
	break

case "nomakeup":
	show("Disappointing.")
	if(getBoolean("Did you at least bring a marker?"))
		block = "markerdress"
	else
		block = "nomarker"
	break

case "nomarker":
	show(loadString("jewell.sissyname")+", you worthless slut. You aren't taking me seriously. This will have to change.")
	wait(7)
	block = "nomarker2"
	break

case "nomarker2":
	block = "finish"
	return "jewell/spanking"
	break

case "markerdress":
	show("Remove your cock from your panties without taking them off. Now write \"property of my Master\" across your cock.")
	showButton("Finished Master")
	block = "markerdress2"
	break

case "markerdress2":
	show("Good. Now write \"sissy ass-slave\" across your buttcheeks.")
	showButton("Finished Master")
	block = "markerdress3"
	break

case "markerdress3":
	show("Good girl. Now I want you to write \"Sissy Slut\" across your chest.")
	showButton("Finished Master")
	block = "markerdress4"
	break

case "markerdress4":
	show("There. Now you better either buy some make-up for next time, or get used to these decorations.")
	showButton("Yes Master")
	block = "dress11"
	break

case "punpanties":
	show("This is completely unacceptable slave.")
	wait(6)
	save("jewell.pantymission", true)
	block = "punpanties2"
	break

case "punpanties2":
	show("I'm sending you on a mission slut. You are to go out and buy yourself a pretty pair of panties. When you have them, select \"Continue advanced sissy session\". You may wear clothes while shopping but remove them immediately upon your return.")
	showButton("Yes Master")
	block = "finish"
	break

case "action1":
	show("Okay "+loadString("jewell.sissyname")+", wait here and think girly thoughts until I need you.")
	wait(40+getRandom(40))
	block = "action2"
	break

case "action2":
	show("Good girl "+loadString("jewell.sissyname")+". Now, how shall I degrade you today?")
	wait(6)
	block = "action3"
	break

case "action3":
	show("Hmmm")
	wait(1)
	switch(getRandom(5)) {
	case 0: block = "action4"; break
	case 1: block = "action5"; break
	case 2: block = "action6"; break
	case 3: block = "action7"; break
	case 4: block = "action8"; break
	}
	break

case "action4":
	if(loadBoolean("toys.buttplug")!=true) {
		block="action3"
		break
	}
	show("Shove a butt plug up your sissy-ass for me "+loadString("jewell.sissyname")+". Put on an anal porno. I want you to sit up with the plug still in your butt and bounce yourself lightly up and down while watching the porn. While you do this, you are to chant \"Fuck my sissy ass\" over and over. Repeat this until I give permission to stop.")
	wait(60+getRandom(100))
	block = "permission"
	break

case "action5":
	show("You are to watch blowjob porn while sucking on a penis-shaped object. I want you to moan with pleasure while you suck this cock, slut. Make sure you deepthroat it good. Don't stop until I give permission.")
	wait(60+getRandom(100))
	block = "permission"
	break

case "action6":
	show("Tie your ankles together with rope, leaving only a small amount of give so that you can still walk, but only using small, mincing steps. I want you to clean the room you're in like this "+loadString("jewell.sissyname")+". Let me know when it is spotless.")
	if(showButton("All clean Master")<100) {
		show("Are you kidding me ?")
		showButton("Sorry, Master")
		show("You're goign to be punished")
		showButton("Yes, Master")
		save("jewell.punishment",8)
		return("jewell/punishment")
	}
	block = "permission"
	break

case "action7":
	if(loadBoolean("toys.enema_kit")!=true && loadBoolean("toys.enema_bulb")!=true) {
		block="action3"
		break
	}
	show("Oh, I know just the thing for you my little sissy!")
	block = "enema"
	break

case "enema":
	block = "finish"
	return "jewell/enema"
	break

case "action8":
	show("I want you to start stroking your little dicklet sissy. Get it nice and hard for me.")
	showButton("I'm hard Master")
	block = "wank"
	break

case "wank":
	show("I want you to slowly rub your dicklet for me. Think about how much you like being a sissy whore for your Master. Don't stop until I say.")
	wait(30+getRandom(20))
	block = "wank2"
	break

case "wank2":
	show("Start rubbing faster "+loadString("jewell.sissyname")+". I want my sissy's little nublet to be as hard as it can get. Stroke for me bitch.")
	wait(40+getRandom(20))
	block = "wank3"
	break

case "wank3":
	show("Start edging for me sissy. Get as close to the edge as you can get. Hold it. Don't you dare cum.")
	wait(30+getRandom(30))
	block = "wank4"
	break

case "wank4":
	show("Okay sissy, I want you to ruin the orgasm for me. Let your sticky mess fall onto your chest. Don't clean it up.")
	showButton("Done Master")
	block = "wank5"
	break

case "wank5":
	show("I want you to rub your cum all over your body. Sissies love cum. Make sure you get it all over. Stay there until I give you permission to clean yourself.")
	wait(60+getRandom(200))
	block = "wank6"
	break

case "wank6":
	show("Okay my filthy slut, go clean yourself up.")
	showButton("Finished Master")
	block = "outro"
	break

case "permission":
	show("Alright "+loadString("jewell.sissyname")+", you may stop now.")
	wait(10)
	block = "outro"
	break

case "outro":
	if(loadInteger("cybermistress.points")==null)
		save("cybermistress.points", 80)
	save("cybermistress.points", +3+loadInteger("cybermistress.points"))
	show("(You've got "+loadInteger("cybermistress.points")+" points)\n"+"Well "+loadString("jewell.sissyname")+", that's all for now. You aren't permitted to take off your sissy clothes for another 15 minutes, however.")
	wait(15)
	save("jewell.leveltwosissy", true)
	block = "finish"
	break

case "finish":
	endReached = true
	return "jewell"
   break

default:
	show("Unfinished ? ("+block+")")
	endReached = true
} // end switch 
newBlock = block
} // end while

// This script, from http://ss.deviatenow.com, is protected by this licence : 
// CC by-NC, see http://creativecommons.org/licenses/by-nc/3.0/

